STBC with multiple streams in OFDM for WLAN and error metrics for soft decision with channel information

ABSTRACT

A method of receiving data over M receiving antennas from N transmitting antennas, where M and N are integers, includes the steps of receiving M signals over the M receiving antennas, applying the M signals to a space/time decoder, determining noise powers for M channels, with the M channels being based on the M signals, applying Viterbi filtering to the M channels utilizing the noise powers and deriving received data from the filtered M channels.

REFERENCE TO RELATED APPLICATIONS

This application claims priority of U.S. Provisional Patent ApplicationSer. No. 60/579,670, filed on Jun. 16, 2004. The subject matter of thisearlier filed application is hereby incorporated by reference.

BACKGROUND OF THE INVENTION

1. Field of Invention

The present invention relates to wireless communication between devices.In particular, the present invention is directed to coding techniquesapplicable to orthogonal frequency division multiplexing (OFDM) inwireless networking.

2. Description of Related Art

In recent years, there has been rapid growth in mobile computing andother wireless data services, as well as growth in fixed wireless accesstechnologies. These services have the benefit of not requiring wiringbetween nodes to support the networking and potentially allow forcommunication where it could be difficult to provide a wiredinfrastructure. These services can be used to provide high qualitytelephony, high-speed Internet access, multimedia and other broadbandservices.

These services provide several challenges in the areas of efficientcoding and modulation, quality improving signal processing techniquesand techniques for sharing limited spectrum between users. One way toimprove the capacity of wireless communication systems is to usemultiple transmit and receive antennas. This is often achieved throughcoding techniques appropriate to multiple antennas, such as throughspace-time block-coding (STBC).

STBC is a coding technique used with multiple antennas to introducetemporal and spatial correlation into signals transmitted from differentantennas, in order to provide diversity at a receiver, and coding gainwhen compared to an uncoded system, without sacrificing bandwidth. STBChelps increase reliability and can provide full diversity gains withsimple linear processing of signals at a receiver.

The wireless channels used are subject to time-varying problems such asnoise, interference and multipath issues. Additionally, for mobilesystems, the communications should be accomplished through low powerrequirements so that the system can be simply powered and remain smalland lightweight. This can often preclude signal processing techniquesthat can be used for reliable communications and efficient spectralutilization, if those techniques demand significant processing power.

As discussed above, when the resources of multiple antennas areavailable, the spatial domain can be utilized to achieve reliabletransmission. In that case, some pairs of antennas are used fordiversity gains and some groups used with multiplexing for higherthroughputs. With these multiple streams, there is a need forinterference cancellation at the receiver. However, the prior art doesnot provide such interference cancellation techniques for multiplestreams. Additionally, because STBC is performed in the raw-data space,papers published never discuss coding/decoding techniques. However, ifthe noise in the signals is colored or is hard to estimate, it is notpossible to provide soft decision processes in a Viterbi decoder. Thus,there is a need in the prior art for a means to estimate noise power inSTBC, with or without multiplexing, and applicable to Viterbi decoding.

SUMMARY OF THE INVENTION

According to one embodiment of the invention, a method of receiving dataover M receiving antennas from N transmitting antennas is disclosed,where M and N are integers. The method includes the steps of receiving Msignals over the M receiving antennas, applying the M signals to aspace/time decoder, determining noise powers for M channels, with the Mchannels being based on the M signals, applying Viterbi filtering to theM channels utilizing the noise powers and deriving received data fromthe filtered M channels.

Additionally, the step of determining noise powers may include removinginterference terms between the M channels; Also, the step of determiningnoise powers may include zero-forcing terms equivalent to relationshipsbetween signals sent from the N transmitting antennas to the M receivingantennas to determine channel information. The relationship may be:$\begin{matrix}\begin{matrix}{\begin{bmatrix}r_{1} \\r_{2}\end{bmatrix} = {{\begin{bmatrix}H_{1} & G_{1} \\H_{2} & G_{2}\end{bmatrix}\begin{bmatrix}c_{1} \\c_{2}\end{bmatrix}} + \begin{bmatrix}n_{1} \\n_{2}\end{bmatrix}}} & \quad & {{where},}\end{matrix} \\\begin{matrix}{{c_{1} = \begin{bmatrix}c_{11} \\c_{12}\end{bmatrix}},} & {{c_{2} = \begin{bmatrix}c_{21} \\c_{22}\end{bmatrix}},} & {{r_{1} = \begin{bmatrix}{r_{1}\left( t_{1} \right)} \\{r_{1}^{*}\left( t_{2} \right)}\end{bmatrix}},} & {{r_{2} = \begin{bmatrix}{r_{2}\left( t_{1} \right)} \\{r_{2}^{*}\left( t_{2} \right)}\end{bmatrix}},}\end{matrix} \\\begin{matrix}{{H_{i} = \begin{bmatrix}h_{1i} & h_{2i} \\h_{2i}^{*} & {- h_{1i}^{*}}\end{bmatrix}},} & {G_{i} = \begin{bmatrix}h_{3i} & h_{4i} \\h_{4i}^{*} & {- h_{3i}^{*}}\end{bmatrix}}\end{matrix}\end{matrix}$

and the channel information of each STBC symbol after crosstalkcancellation, Ni, comprises: $\begin{matrix}\begin{matrix}{{E\left( {\begin{bmatrix}N_{1} \\N_{2}\end{bmatrix}\begin{bmatrix}N_{1}^{*} & N_{2}^{*}\end{bmatrix}} \right)} =} \\{\quad\begin{bmatrix}{{{\overset{\sim}{H}}^{*}\left( {I + \hat{G}} \right)}\overset{\sim}{H}} & {{- {{\overset{\sim}{H}}^{*}\left( {\left( {H_{2}H_{1}^{- 1}} \right)^{*} + {G_{1}G_{2}^{- 1}}} \right)}}\overset{\sim}{H}} \\{{{\overset{\sim}{G}}^{*}\left( {{H_{1}H_{1}^{- 1}} + \left( {G_{1}G_{2}^{- 1}} \right)^{*}} \right)}\overset{\sim}{H}} & {{{\overset{\sim}{G}}^{*}\left( {I + \hat{H}} \right)}\quad\overset{\sim}{G}}\end{bmatrix}}\end{matrix} \\\begin{matrix}{{where},{\hat{G} = {{G_{1}\left( {G_{2}^{*}G_{2}} \right)}^{- 1}\quad G_{1}^{*}}},} & {\hat{H} = {{H_{2}\left( {H_{1}^{*}H_{1}} \right)}^{- 1}\quad{H_{2}^{*}.}}}\end{matrix}\end{matrix}$

In addition, when M is greater than N, the channel information can bewritten as sums of weigthted scalar values. Additionally, the step ofreceiving M signals may include receiving the M signals that have beencoded through space-time block-coding. Also, the step of applyingViterbi filtering to the M channels may include applying soft decisionViterbi filtering to the M channels. The method may also include thesteps of band pass filtering of the M received signals,analog-to-digital converting of the M received signals, fast Fouriertransforming the M Viterbi filtered channels and multiplexing the MViterbi filtered channels.

According to another embodiment, a receiver for receiving data over Mreceiving antennas transmitted from N transmitting antennas, where M andN are integers, is disclosed. The receiver includes receiving means forreceiving M signals over the M receiving antennas, applying means forapplying the M signals to a space/time decoder, determining means fordetermining noise powers for M channels, with the M channels being basedon the M signals, filtering means for applying Viterbi filtering to theM channels utilizing the noise powers and deriving means for derivingreceived data from the filtered M channels.

According to another embodiment, a receiver for receiving data over Mreceiving antennas transmitted from N transmitting antennas, where M andN are integers, is disclosed. The receiver includes M receivingantennas, configured to receive M signals, a space/time decoder,configured to receive the M signals and supply M channels being based onthe M signals and a multiplexer, configured to provide received datafrom the M channels. The space/time decoder is configured to determinenoise powers for M channels and to apply Viterbi filtering to the Mchannels utilizing the noise powers.

These and other variations of the present invention will be described inor be apparent from the following description of the preferredembodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

For the present invention to be easily understood and readily practiced,the present invention will now be described, for purposes ofillustration and not limitation, in conjunction with the followingfigures:

FIG. 1 provides a schematic illustrating multiple transmitters and areceiver having a multiplicity of antennas, according to one embodimentof the present invention;

FIG. 2 illustrates a schematic of a transmitter circuit, with FIG. 2(a)illustrating modules that produce multiple signals and with FIG. 2(b)illustrating modules for manipulating the multiple signals, according toone embodiment of the present invention;

FIG. 3 illustrates a schematic of a receiver circuit, with FIG. 3(a)illustrating modules that receive multiple signals and with FIG. 3(b)illustrating modules for deriving original data from the multiplesignals, according to one embodiment of the present invention;

FIG. 4 provides simulation data showing differences between hard andsoft decisions in STBC, according to one embodiment of the presentinvention; and

FIG. 5 provides simulation data showing differences between hard andsoft decisions in STBC in another channel, according to one embodimentof the present invention;

FIG. 6 provides simulation data showing differences between STBC codingand a minimum mean square error (MMSE) for channels with delay spread of15 ns, according to one embodiment of the present invention; and

FIG. 7 provides simulation data showing differences between STBC codingand a minimum mean square error (MMSE) in channels with delay spread of50 ns, according to one embodiment of the present invention;

FIG. 8 provides simulation data showing differences between STBC codingutilizing different weights, according to one embodiment of the presentinvention; and

FIG. 9 provides simulation data showing differences between STBC codingutilizing different weights in channels with delay spread of 50 ns,according to one embodiment of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

STBC is usually performed in raw symbol domains. When soft decisionprocesses are applied with some channel information from STBC process, agreater coding gain, in addition to transmission diversity gain, fromSTBC is obtained. This is because a coding gain depends on signalquality. Good coding gain cannot be obtained on signals with poorquality, better coding gain may be obtained on signals with betterquality to correct poor quality signals. Since STBC needs a flat channelresponse, orthogonal frequency division multiplexing (OFDM) is used forfrequency selective channels. It is noted that STBC with OFDM isconsidered for IEEE 802.11n standards with multiple antennas forreliable transmission.

As an example of the techniques employed by the present invention, thefollowing system is considered, $\begin{matrix}{\begin{bmatrix}r_{1} \\r_{2}\end{bmatrix} = {{\begin{bmatrix}H_{1} & G_{1} \\H_{2} & G_{2}\end{bmatrix}\begin{bmatrix}c_{1} \\c_{2}\end{bmatrix}} + \begin{bmatrix}n_{1} \\n_{2}\end{bmatrix}}} & (1) \\{{where},} & \quad \\\begin{matrix}{{c_{1} = \begin{bmatrix}c_{11} \\c_{12}\end{bmatrix}},} & {{c_{2} = \begin{bmatrix}c_{21} \\c_{22}\end{bmatrix}},} & {{r_{1} = \begin{bmatrix}{r_{1}\left( t_{1} \right)} \\{r_{1}^{*}\left( t_{2} \right)}\end{bmatrix}},} & {{r_{2} = \begin{bmatrix}{r_{2}\left( t_{1} \right)} \\{r_{2}^{*}\left( t_{2} \right)}\end{bmatrix}},}\end{matrix} & (2) \\\begin{matrix}{{H_{i} = \begin{bmatrix}h_{1i} & h_{2i} \\h_{2i}^{*} & {- h_{1i}^{*}}\end{bmatrix}},} & {G_{i} = \begin{bmatrix}h_{3i} & h_{4i} \\h_{4i}^{*} & {- h_{3i}^{*}}\end{bmatrix}}\end{matrix} & \quad\end{matrix}$

The above elements may be further explained by reference to FIG. 1. Inthat figure, multiple signals, c₁(t) and c₂(t), are received from anencoding block at inputs: 101 and 102, where 110 and 115 are STBCblocks. After coding, signal c₁ is transmitted through transmissionantennas 110 a and 110 b, and signal c₂ is transmitted throughtransmission antennas 115 a and 115 b. The transmitted signals arereceived by the STBC decoding block 120, through receive antennas 120 a,120 b and 102 c. After processing, signals, c₁ and c₂, based on theoriginally transmitted signals are reformulated and output throughoutputs 131 and 132. In general, the received signal is related to thesource signal through an “H” or “G” component plus a noise term.

While the above receiver and transmitter are discussed and illustratedgenerally, more specific discussions of the receiver and transmitter maybe necessary to understand the use of coding in wireless networking.FIGS. 2(a) and (b) illustrate a schematic block diagram of a multipletransmitter in accordance with one embodiment of the present invention.In FIG. 2(a), the baseband processing is shown to include a scrambler172, channel encoder 174, interleaver 176, demultiplexer 170, aplurality of symbol mappers 180-1 through 180-m, a space/time encoder190, and a plurality of inverse fast Fourier transform (IFFT)/cyclicprefix addition modules 192-1 through 192-m. It is noted that space/timeencoder and the IFFT modules may be combined to have a module thatperforms both functions. The baseband portion of the transmitter mayfurther include a mode manager module 175 that receives the modeselection signal and produces settings for the radio transmitter portionand produces the rate selection for the baseband portion.

In operations, the scrambler 172 adds (in GF2) a pseudo random sequenceto the outbound data bits to make the data appear random. A pseudorandom sequence may be generated from a feedback shift register with thegenerator polynomial of S(x)=x⁷+x⁴+1 to produce scrambled data. Thechannel encoder 174 receives the scrambled data and generates a newsequence of bits with redundancy. This will enable improved detection atthe receiver. The channel encoder 174 may operate in one of a pluralityof modes. For example, for backward compatibility with IEEE 802.11(a)and IEEE 802.11(g), the channel encoder has the form of a rate ½convolutional encoder with 64 states and a generator polynomials ofG₀=133₈ and G₁=171₈. The output of the convolutional encoder may bepunctured to rates of ½, ⅔rds and ¾ according to the specified ratetables. For backward compatibility with IEEE 802.11(b) and the CCK modesof IEEE 802.11(g), the channel encoder has the form of a CCK code asdefined in IEEE 802.11(b).

For higher data rates, the channel encoder may use the same convolutionencoding as described above or it may use a more powerful code,including a convolutional code with more states, a parallel concatenated(turbo) code and/or a low density parity check (LDPC) block code.Further, any one of these codes may be combined with an outer ReedSolomon code. Based on a balancing of performance, backwardcompatibility and low latency, one or more of these codes may beoptimal. As discussed below, the channel information can be derived, andcan be used in the decoding process for both turbo and LDPC coding.

The interleaver 176 receives the encoded data and spreads it overmultiple symbols and transmit streams. This allows improved detectionand error correction capabilities at the receiver. In one embodiment,the interleaver 176 will follow the IEEE 802.11(a) or (g) standard inthe backward compatible modes. For higher performance modes, theinterleaver will interleave data over multiple transmit streams. Thedemultiplexer 170 converts the serial interleave stream from interleaver176 into M-parallel streams for transmission.

Each symbol mapper 180-1 through 180-m receives a corresponding one ofthe M-parallel paths of data from the demultiplexer. Each symbol mapper180-m lock maps bit streams to quadrature amplitude modulated QAMsymbols (e.g., BPSK, QPSK, 16-QAM, 64 QAM, 256 QAM, et cetera) accordingto the rate tables. For IEEE 802.11(a) backward compatibility, doublegray coding may be used.

The map symbols produced by each of the symbol mappers 180-m areprovided to the space/time encoder 190 receives the M-parallel paths oftime domain symbols and converts them into output symbols. In oneembodiment, the number of M-input paths will equal the number ofP-output paths. In another embodiment, the number of output paths P willequal M+1 paths. For each of the paths, the space/time encoder multiplesthe input symbols with an encoding matrix that has the form of:$\begin{bmatrix}C_{1} & C_{2} & C_{3} & \cdots & C_{{2M} - 1} \\{- C_{2}^{*}} & C_{1}^{*} & C_{4} & \cdots & C_{2M}\end{bmatrix}\quad$It is noted that the rows of the encoding matrix correspond to thenumber of input paths and the columns correspond to the number of outputpaths.

The outputs of the space/time encoder 190 are introduced intoIFFT/cyclic prefix addition modules 192-1 through 192-m, which performfrequency domain to time domain conversions and add a prefix, whichallows removal of inter-symbol interference at the receiver. It is notedthat the length of the IFFT and cyclic prefix are defined in modetables. In general, a 64-point IFFT will be used for 20 MHz channels and128-point IFFT will be used for 40 MHz channels.

FIG. 2(b) illustrates the radio portion of the transmitter that includesa plurality of digital filter/up-sampling modules 195-1 through 195-m,digital-to-analog conversion modules 200-1 through 200-m, analog filters210-1 through 210-m and 215-1 through 215-m, I/Q modulators 220-1through 220-m, RF amplifiers 225-1 through 225-m, RF filters 230-1through 230-m and antennas 240-1 through 240-m. The P-outputs from thespace/time encoder 192 are received by respective digitalfiltering/up-sampling modules 195-1 through 195-m.

In operation, the number of radio paths that are active correspond tothe number of P-outputs. For example, if only one P-output path isgenerated, only one of the radio transmitter paths will be active. Asone of average skill in the art will appreciate, the number of outputpaths may range from one to any desired number.

The digital filtering/up-sampling modules 195-1 through 195-m, filterthe corresponding symbols and adjust the sampling rates to correspondwith the desired sampling rates of the digital-to-analog conversionmodules 200-1 through 200-m. The digital-to-analog conversion modules200 convert the digital filtered and up-sampled signals intocorresponding in-phase and quadrature analog signals. The analog filters210 and 215 filter the corresponding in-phase and/or quadraturecomponents of the analog signals, and provide the filtered signals tothe corresponding I/Q modulators 220-1 through 220-m. The I/Q modulators220, based on a local oscillation, which is produced by a localoscillator 100, up-converts the I/Q signals into radio frequencysignals. The RF amplifiers 225-1 through 225-m amplify the RF signalswhich are then subsequently filtered via RF filters 230-1 through 230-mbefore being transmitted via antennas 240-1 through 240-m.

FIGS. 3(a) and 3(b) illustrate a schematic block diagram of anotherembodiment of a receiver in accordance with the present invention. FIG.3(a) illustrates the analog portion of the receiver which includes aplurality of receiver paths. Each receiver path includes an antenna,250-1 through 250-n, RF filters 255-1 through 255-n, low noiseamplifiers 260-1 through 260-n, I/Q demodulators 265-1 through 265-n,analog filters 270-1 through 270-n and 275-1 through 275-n,analog-to-digital converters 280-1 through 280-n and digital filters anddown-sampling modules 290-1 through 290-n.

In operation, the antennas 250 receive inbound RF signals, which areband-pass filtered via the RF filters 255. The corresponding low noiseamplifiers 260 amplify the filtered signals and provide them to thecorresponding I/Q demodulators 265. The I/Q demodulators 265, based on alocal oscillation, which is produced by local oscillator 100,down-converts the RF signals into baseband in-phase and quadratureanalog signals.

The corresponding analog filters 270 and 275 filter the in-phase andquadrature analog components, respectively. The analog-to-digitalconverters 280 convert the in-phase and quadrature analog signals into adigital signal. The digital filtering and down-sampling modules 290filter the digital signals and adjust the sampling rate to correspond tothe rate of the baseband processing, which will be described in FIG. 6B.

FIG. 3(b) illustrates the baseband processing of a receiver. Thebaseband processing includes a plurality of fast Fourier transform(FFT)/cyclic prefix removal modules 294-1 through 294-n, a space/timedecoder 296, a plurality of symbol demapping modules 300-1 through300-n, a multiplexer 310, a deinterleaver 312, a channel decoder 314,and a descramble module 316. The baseband processing module may furtherinclude a mode managing module 175. The N paths are processed via theFFT/cyclic prefix removal modules 294-1 through 294-n which perform theinverse function of the IFFT/cyclic prefix addition modules 192-1through 192-n to produce frequency domain symbols. The space/timedecoding module 296, which performs the inverse function of space/timeencoder 190, receives P-inputs from the FFT/cyclic prefix removalmodules and produce N-output paths.

The symbol demapping modules 300 convert the frequency domain symbolsinto data utilizing an inverse process of the symbol mappers 180. Themultiplexer 310 combines the demapped symbol streams into a single path.The deinterleaver 312 deinterleaves the single path utilizing an inversefunction of the function performed by interleaver 176. The deinterleaveddata is then provided to the channel decoder 314 which performs theinverse function of channel encoder 174. The descrambler 316 receivesthe decoded data and performs the inverse function of scrambler 172 toproduce the inbound data 98.

In order to better estimate a transmitted signal from the receivedsignal, interference terms can be made to cancel. To cancelinterference, Zero-Forcing is applied $\begin{matrix}\begin{matrix}{{\begin{bmatrix}I & {{- G_{1}}G_{2}^{- 1}} \\{{- H_{2}}H_{1}^{- 1}} & I\end{bmatrix}\begin{bmatrix}r_{1} \\r_{2}\end{bmatrix}} = {\begin{bmatrix}{\overset{\sim}{r}}_{1} \\{\overset{\sim}{r}}_{2}\end{bmatrix} = {{\begin{bmatrix}\overset{\sim}{H} & 0 \\0 & \overset{\sim}{G}\end{bmatrix}\begin{bmatrix}c_{1} \\c_{2}\end{bmatrix}} + \begin{bmatrix}{\overset{\sim}{n}}_{1} \\{\overset{\sim}{n}}_{2}\end{bmatrix}}}} \\\begin{matrix}{{where},{\overset{\sim}{H} = {H_{1} - {G_{1}G_{2}^{- 1}H_{2}}}},} & {\overset{\sim}{G} = {G_{2} - {H_{2}H_{1}^{- 1}{G_{1}.}}}}\end{matrix}\end{matrix} & (3)\end{matrix}$

When applying STBC on two sequency simultaneously, $\begin{matrix}{{\begin{bmatrix}{\overset{\sim}{H}}^{*} & 0 \\0 & {\overset{\sim}{G}}^{*}\end{bmatrix}\begin{bmatrix}{\overset{\sim}{r}}_{1} \\{\overset{\sim}{r}}_{2}\end{bmatrix}} = {{\begin{bmatrix}{{\overset{\sim}{H}}^{*}\overset{\sim}{H}} & 0 \\0 & {{\overset{\sim}{G}}^{*}\overset{\sim}{G}}\end{bmatrix}\begin{bmatrix}c_{1} \\c_{2}\end{bmatrix}} + \begin{bmatrix}N_{1} \\N_{2}\end{bmatrix}}} & (4)\end{matrix}$where H^(*)H and G^(*)G are diagonal and Hermitian matrices.

STBC provides c₁ and c₂ after Zero-Forcing. To use a soft decisionViterbi decoder, channel information is needed. After Zero-Forcing, thesignals will have unity gain and the noise power is needed for thechannel information.

Since N₁ and N₂ are still Gaussian, the channel information can bewritten as: $\begin{matrix}{{E\left( {\begin{bmatrix}N_{1} \\N_{2}\end{bmatrix}\begin{bmatrix}N_{1}^{*} & N_{2}^{*}\end{bmatrix}} \right)} = {{{\begin{bmatrix}{\overset{\sim}{H}}^{*} & 0 \\0 & {\overset{\sim}{G}}^{*}\end{bmatrix}\begin{bmatrix}I & {{- G_{1}}G_{2}^{- 1}} \\{{- H_{2}}H_{1}^{- 1}} & I\end{bmatrix}}\begin{bmatrix}I & {- \left( {H_{1}H_{1}^{- 1}} \right)^{*}} \\{- \left( {G_{1}G_{1}^{- 1}} \right)^{*}} & I\end{bmatrix}}\begin{bmatrix}\overset{\sim}{H} & 0 \\0 & \overset{\sim}{G}\end{bmatrix}}} \\{\quad{= \begin{bmatrix}{{{\overset{\sim}{H}}^{*}\left( {I + \hat{G}} \right)}\overset{\sim}{H}} & {{- {{\overset{\sim}{H}}^{*}\left( {\left( {H_{2}H_{1}^{- 1}} \right)^{*} + {G_{1}G_{2}^{- 1}}} \right)}}\overset{\sim}{H}} \\{{{\overset{\sim}{G}}^{*}\left( {{H_{1}H_{1}^{- 1}} + \left( {G_{1}G_{2}^{- 1}} \right)^{*}} \right)}\overset{\sim}{H}} & {{{\overset{\sim}{G}}^{*}\left( {I + \hat{H}} \right)}\quad\overset{\sim}{G}}\end{bmatrix}}} \\\begin{matrix}{{where},{\hat{G} = {{G_{1}\left( {G_{2}^{*}G_{2}} \right)}^{- 1}\quad G_{1}^{*}}},} & {\hat{H} = {{H_{2}\left( {H_{1}^{*}H_{1}} \right)}^{- 1}\quad{H_{2}^{*}.}}}\end{matrix}\end{matrix}$

Thus, E(N₁N₁ ^(*)) and E(N₂N₂ ^(*)) can be used as channel informationfor soft decision in Viterbi decoder. When the system has M greater thanN (i.e., is overdetermined), combinations can be used. (i.e., _(M)C₂),where M is equal to the number of receive antennas and N is equal to thenumber of transmit antenna pairs.

For M=3, there are 3 combinations, then noise power will be scaled aswell, such that:E(N ₁ N ₁ ^(*))=w ₁₁ E(N ₁₁ N ₁₁ ^(*))+w ₂₁ E(N ₂₁ N ₂₁ ^(*))+w ₃₁ E(N₃₁ N ₃₁ ^(*))E(N ₂ N ₂ ^(*))=w ₁₂ E(N ₁₂ N ₁₂ ^(*))+w ₂₂ E(N ₂₂ N ₂₂ ^(*))+w ₃₂ E(N₃₂ N ₃₂ ^(*))where N_(ij) is the noise after ZF processing for each i^(th)combination. The w_(ij) values are weights on each summation and can bechosen to be equal or can be based on SNR values, signal-to-noisevalues, or based on SINR, signal-to-interference-and-noise values.

FIGS. 4-9 provide simulation results illustrating benefits of theinstant invention. FIGS. 4 and 5 provide responses showing differencesbetween hard and soft decisions in STBC. The results assume 4transmitting antennas, at a frequency of 5 GHz, having a bandwidth of 20MHz, operating under IEEE 802.11n, for two, three and four receiveantennas at a distance of approximately 15 meters. FIGS. 6 and 7 providesimilar results, under similar conditions as set for FIGS. 4 and 5,showing differences between STBC coding-and a minimum mean square error(MMSE). FIGS. 8 and 9 provides similar results, showing differencesbetween STBC coding utilizing different weights.

Accordingly, STBC works better than MMSE up to 3 dB at PER of 10%, wherethe gain comes from transmission diversity. This gap is slightly biggerfor soft decision, as illustrated in the results discussed above. STBCwith soft decision outperforms STBC with hard decision up to 5 dB at PERof 10%, as illustrated in FIGS. 4 and 5. STBC with soft decision withN=2, M=4 achieves 10% PER at SNR of 25 dB for 802.11n channel model B.STBC with SINR weight performs better (up to 1 dB) than any otherweights when M>N.

Although the invention has been described based upon these preferredembodiments, it would be apparent to those skilled in the art thatcertain modifications, variations, and alternative constructions wouldbe apparent, while remaining within the spirit and scope of theinvention. In order to determine the metes and bounds of the invention,therefore, reference should be made to the appended claims.

1. A method of receiving data over M receiving antennas from Ntransmitting antennas, where M and N are integers, the method comprisingthe steps of: receiving M signals over the M receiving antennas;applying the M signals to a space/time decoder; determining noise powersfor M channels, with the M channels being based on the M signals;applying Viterbi filtering to the M channels utilizing the noise powers;and deriving received data from the filtered M channels.
 2. A methodaccording to claim 1, wherein the step of determining noise powersfurther comprises removing interference terms between the M channels. 3.A method according to claim 1, wherein the step of determining noisepowers comprises zero-forcing terms equivalent to relationships betweensignals sent from the N transmitting antennas to the M receivingantennas to determine channel information.
 4. A method according toclaim 3, wherein the relationships comprise: $\begin{matrix}\begin{matrix}{\begin{bmatrix}r_{1} \\r_{2}\end{bmatrix} = {{\begin{bmatrix}H_{1} & G_{1} \\H_{2} & G_{2}\end{bmatrix}\begin{bmatrix}c_{1} \\c_{2}\end{bmatrix}} + \begin{bmatrix}n_{1} \\n_{2}\end{bmatrix}}} & \quad & {{where},}\end{matrix} \\\begin{matrix}{{c_{1} = \begin{bmatrix}c_{11} \\c_{12}\end{bmatrix}},} & {{c_{2} = \begin{bmatrix}c_{21} \\c_{22}\end{bmatrix}},} & {{r_{1} = \begin{bmatrix}{r_{1}\left( t_{1} \right)} \\{r_{1}^{*}\left( t_{2} \right)}\end{bmatrix}},} & {{r_{2} = \begin{bmatrix}{r_{2}\left( t_{1} \right)} \\{r_{2}^{*}\left( t_{2} \right)}\end{bmatrix}},}\end{matrix} \\\begin{matrix}{{H_{i} = \begin{bmatrix}h_{1i} & h_{2i} \\h_{2i}^{*} & {- h_{1i}^{*}}\end{bmatrix}},} & {G_{i} = \begin{bmatrix}h_{3i} & h_{4i} \\h_{4i}^{*} & {- h_{3i}^{*}}\end{bmatrix}}\end{matrix}\end{matrix}$ and the channel information of each STBC symbol aftercrosstalk cancellation, Ni, comprises; $\begin{matrix}\begin{matrix}{{E\left( {\begin{bmatrix}N_{1} \\N_{2}\end{bmatrix}\begin{bmatrix}N_{1}^{*} & N_{2}^{*}\end{bmatrix}} \right)} =} \\{\quad\begin{bmatrix}{{{\overset{\sim}{H}}^{*}\left( {I + \hat{G}} \right)}\overset{\sim}{H}} & {{- {{\overset{\sim}{H}}^{*}\left( {\left( {H_{2}H_{1}^{- 1}} \right)^{*} + {G_{1}G_{2}^{- 1}}} \right)}}\overset{\sim}{H}} \\{{{\overset{\sim}{G}}^{*}\left( {{H_{1}H_{1}^{- 1}} + \left( {G_{1}G_{2}^{- 1}} \right)^{*}} \right)}\overset{\sim}{H}} & {{{\overset{\sim}{G}}^{*}\left( {I + \hat{H}} \right)}\quad\overset{\sim}{G}}\end{bmatrix}}\end{matrix} \\\begin{matrix}{{where},{\hat{G} = {{G_{1}\left( {G_{2}^{*}G_{2}} \right)}^{- 1}\quad G_{1}^{*}}},} & {\hat{H} = {{H_{2}\left( {H_{1}^{*}H_{1}} \right)}^{- 1}\quad{H_{2}^{*}.}}}\end{matrix}\end{matrix}$
 5. A method according to claim 4, wherein when M isgreater than N, the channel information can be written as sums ofweighted scalar values.
 6. A method according to claim 1, wherein thestep of receiving M signals comprises receiving the M signals that havebeen coded through space-time block-coding.
 7. A method according toclaim 1, wherein the step of applying Viterbi filtering to the Mchannels comprises applying soft decision Viterbi filtering to the Mchannels.
 8. A method according to claim 1, further comprising utilizingthe noise powers in decoding of the M channels, wherein the decoding isperformed according to one of turbo coding and low density parity checkblock coding.
 9. A method according to claim 1, further comprising atleast one of band pass filtering of the M received signals,analog-to-digital converting of the M received signals, fast Fouriertransforming the M Viterbi filtered channels and multiplexing the MViterbi filtered channels.
 10. A receiver for receiving data over Mreceiving antennas transmitted from N transmitting antennas, where M andN are integers, the receiver comprising: receiving means for receiving Msignals over the M receiving antennas; applying means for applying the Msignals to a space/time decoder; determining means for determining noisepowers for M channels, with the M channels being based on the M signals;filtering means for applying Viterbi filtering to the M channelsutilizing the noise powers; and deriving means for deriving receiveddata from the filtered M channels.
 11. A receiver according to claim 10,wherein the determining means further comprises interference removingmeans for removing interference terms between the M channels.
 12. Areceiver according to claim 10, wherein the determining means compriseszero-forcing means for zero-forcing terms equivalent to relationshipsbetween signals sent from the N transmitting antennas to the M receivingantennas to determine channel information.
 13. A receiver according toclaim 12, wherein the relationships comprise: $\begin{matrix}\begin{matrix}{\begin{bmatrix}r_{1} \\r_{2}\end{bmatrix} = {{\begin{bmatrix}H_{1} & G_{1} \\H_{2} & G_{2}\end{bmatrix}\begin{bmatrix}c_{1} \\c_{2}\end{bmatrix}} + \begin{bmatrix}n_{1} \\n_{2}\end{bmatrix}}} & \quad & {{where},}\end{matrix} \\\begin{matrix}{{c_{1} = \begin{bmatrix}c_{11} \\c_{12}\end{bmatrix}},} & {{c_{2} = \begin{bmatrix}c_{21} \\c_{22}\end{bmatrix}},} & {{r_{1} = \begin{bmatrix}{r_{1}\left( t_{1} \right)} \\{r_{1}^{*}\left( t_{2} \right)}\end{bmatrix}},} & {{r_{2} = \begin{bmatrix}{r_{2}\left( t_{1} \right)} \\{r_{2}^{*}\left( t_{2} \right)}\end{bmatrix}},}\end{matrix} \\\begin{matrix}{{H_{i} = \begin{bmatrix}h_{1i} & h_{2i} \\h_{2i}^{*} & {- h_{1i}^{*}}\end{bmatrix}},} & {G_{i} = \begin{bmatrix}h_{3i} & h_{4i} \\h_{4i}^{*} & {- h_{3i}^{*}}\end{bmatrix}}\end{matrix}\end{matrix}$ and the channel information of each STBC symbol aftercrosstalk cancellation, Ni, comprises; ${E\left( {\begin{bmatrix}N_{1} \\N_{2}\end{bmatrix}\left\lbrack {N_{1}^{*}\quad N_{2}^{*}} \right\rbrack} \right)} = \begin{bmatrix}{{{\overset{\sim}{H}}^{*}\text{(}I} + {\hat{G}\text{)}\overset{\sim}{H}}} & {{- {\overset{\sim}{H^{*}}\left( {\left( {H_{2}H_{1}^{- 1}} \right)^{*} + {G_{1}G_{2}^{- 1}}} \right)}}\overset{\sim}{H}} \\{{\overset{\sim}{G^{*}}\left( {{H_{1}H_{1}^{- 1}} + \left( {G_{1}G_{2}^{- 1}} \right)^{*}} \right)}\overset{\sim}{H}} & {{\overset{\sim}{G^{*}}\text{(}I} + {\hat{H}\text{)}\overset{\sim}{G}}}\end{bmatrix}$where, Ĝ = G₁(G₂^(*)G₂)⁻¹G₁^(*), Ĥ = H₂(H₁^(*)H₁)⁻¹H₂^(*).
 14. Areceiver according to claim 13, wherein when M is greater than N, thechannel information can be written as sums of weighted scalar values.15. A receiver according to claim 10, wherein the receiving meanscomprises receiving means for receiving the M signals that have beencoded through space-time block-coding.
 16. A receiver according to claim10, wherein the applying means comprises applying means for applyingsoft decision Viterbi filtering to the M channels.
 17. A receiveraccording to claim 10, further comprising utilizing means for utilizingthe noise powers in decoding of the M channels, wherein the decoding isperformed according to one of turbo coding and low density parity checkblock coding.
 18. A receiver according to claim 10, further comprisingat least one of band pass filtering means for filtering of the Mreceived signals, analog-to-digital converting means foranalog-to-digital converting of the M received signals, fast Fouriertransforming means for fast Fourier transforming the M Viterbi filteredchannels and multiplexing means for multiplexing the M Viterbi filteredchannels.
 19. A receiver for receiving data over M receiving antennastransmitted from N transmitting antennas, where M and N are integers,the receiver comprising: M receiving antennas, configured to receive Msignals; a space/time decoder, configured to receive the M signals andsupply M channels being based on the M signals; and a multiplexer,configured to provide received data from the M channels; wherein thespace/time decoder is configured to determine noise powers for Mchannels and to apply Viterbi filtering to the M channels utilizing thenoise powers.
 20. A receiver according to claim 19, wherein thespace/time decoder is configured to remove interference terms betweenthe M channels.
 21. A receiver according to claim 19, wherein thespace/time decoder is configured to zero-force terms equivalent torelationships between signals sent from the N transmitting antennas tothe M receiving antennas to determine channel information.
 22. Areceiver according to claim 21, wherein the relationships comprise:${\begin{bmatrix}r_{1} \\r_{2}\end{bmatrix} = {{\begin{bmatrix}H_{1} & G_{1} \\H_{2} & G_{2}\end{bmatrix}\begin{bmatrix}c_{1} \\c_{2}\end{bmatrix}} + {\begin{bmatrix}n_{1} \\n_{2}\end{bmatrix}\quad{where}}}},{c_{1} = \begin{bmatrix}c_{11} \\c_{12}\end{bmatrix}},{c_{2} = \begin{bmatrix}c_{21} \\c_{22}\end{bmatrix}},{r_{1} = \begin{bmatrix}{r_{1}\left( t_{1} \right)} \\{r_{1}^{*}\left( t_{2} \right)}\end{bmatrix}},{r_{2} = \begin{bmatrix}{r_{2}\left( t_{1} \right)} \\{r_{2}^{*}\left( t_{2} \right)}\end{bmatrix}},{H_{i} = \begin{bmatrix}h_{1i} & h_{2i} \\h_{2i}^{*} & {- h_{1i}^{*}}\end{bmatrix}},{G_{i} = \begin{bmatrix}h_{3i} & h_{4i} \\h_{4i}^{*} & {- h_{3i}^{*}}\end{bmatrix}}$ and the channel information of each STBC symbol aftercrosstalk cancellation, Ni, comprises; ${E\left( {\begin{bmatrix}N_{1} \\N_{2}\end{bmatrix}\left\lbrack {N_{1}^{*}\quad N_{2}^{*}} \right\rbrack} \right)} = \begin{bmatrix}{{{\overset{\sim}{H}}^{*}\text{(}I} + {\hat{G}\text{)}\overset{\sim}{H}}} & {{- {\overset{\sim}{H^{*}}\left( {\left( {H_{2}H_{1}^{- 1}} \right)^{*} + {G_{1}G_{2}^{- 1}}} \right)}}\overset{\sim}{H}} \\{{\overset{\sim}{G^{*}}\left( {{H_{1}H_{1}^{- 1}} + \left( {G_{1}G_{2}^{- 1}} \right)^{*}} \right)}\overset{\sim}{H}} & {{\overset{\sim}{G^{*}}\text{(}I} + {\hat{H}\text{)}\overset{\sim}{G}}}\end{bmatrix}$where, Ĝ = G₁(G₂^(*)G₂)⁻¹G₁^(*), Ĥ = H₂(H₁^(*)H₁)⁻¹H₂^(*).
 23. Areceiver according to claim 22, wherein when M is greater than N, thechannel information can be written as sums of weighted scalar values.24. A receiver according to claim 19, wherein the space/time decoder isconfigured to apply soft decision Viterbi filtering to the M channels.25. A method according to claim 19, wherein the space/time decoder isconfigured to utilize the noise powers in decoding of the M channels,wherein the decoding is configured to perform according to one of turbocoding and low density parity check block coding.
 26. A method accordingto claim 19, further comprising at least one of a band pass filter, ananalog-to-digital converter, a fast Fourier transformer and amultiplexer.